Field
This disclosure relates generally to resource allocation, and more specifically, to the resource allocation based on performance hints.
Background
Existing resource scaling and allocation schemes rely on manually entered periodic workload evaluation and user/sensor inputs. However, these existing schemes pose limitations on effective scaling of the resources to achieve good power-performance balance. That is, either power or performance is scarified based on workload conditions.
FIG. 1 is a block diagram of one example of the existing resource scaling and allocation schemes 100. The existing resource scaling and allocation unit 130 receives workload requirements 110 and user/sensor inputs 120 to determine a new allocation 132 for the resources. Thus, the new allocation 132 is used to configure the resources 140. As the new workload requirements 110 are determined and/or new user/sensor interaction inputs 120 are sensed, the resource scaling and allocation unit 130 determines the new allocation 132 to re-configure the resources 140.
In one example gaming use case, workload patterns may differ significantly depending on how the game rendering workload is distributed among software threads. Some gaming applications handle the graphics processing unit (GPU) rendering workload primarily in a single software thread, while other applications distribute the load across several threads with inter-dependencies. However, it was observed that scaling the resources based on the past workload results in frame drops, which cause poor user experience. Accordingly, there is a need to provide effective allocation and scaling of the resources to achieve good power-performance balance.